import { defineStore } from 'pinia'
import type { User } from '../../types/user'
import { ref } from 'vue'

export const useUserStore = defineStore(
  'user-cp',
  () => {
    // 用户信息
    const user = ref<User>()

    // 设置用户，登录后使用
    const setUser = (u: User): void => {
      // 将 user.value 设置为传入的用户对象 u
      user.value = u
    }

    // 清空用户，退出后使用
    const delUser = (): void => {
      // 将 user.value 设置为 null
      user.value = undefined
    }
    // 记录回跳地址
    const returnUrl = ref('')
    const setReturnUrl = (url: string) => (returnUrl.value = url)

    return {
      user,
      setUser,
      delUser,
      returnUrl,
      setReturnUrl
    }
  },
  {
    persist: {
      paths: ['user']
    }
  } // 持久化存储
)
